{
  "nbformat": 4,
  "nbformat_minor": 2,
  "metadata": {
    "colab": {
      "name": "LeNet.ipynb",
      "provenance": [],
      "collapsed_sections": [],
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "<a href=\"https://colab.research.google.com/github/Taehee-K/Brain-Tumor-Classification/blob/main/code/LeNet.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ],
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "import os\r\n",
        "path = os.path.dirname(os.path.abspath(__file__))\r\n",
        "os.chdir(path)"
      ],
      "outputs": [],
      "metadata": {
        "id": "mbF-t5mNPJP6"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Split Data"
      ],
      "metadata": {
        "id": "0mlQ8IxbPV6x"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* Train, Validation, Test 데이터 폴더 나누기"
      ],
      "metadata": {
        "id": "nfurc7XoQROn"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "import shutil\r\n",
        " \r\n",
        "original_dataset_dir = './BrainTumorData'   \r\n",
        "classes_list = os.listdir(original_dataset_dir) \r\n",
        " \r\n",
        "base_dir = './splitted'                           # train-validation 데이터 나누어 저장\r\n",
        "os.mkdir(base_dir)\r\n",
        " \r\n",
        "train_dir = os.path.join(base_dir, 'train')       # train data\r\n",
        "os.mkdir(train_dir)\r\n",
        "test_dir = os.path.join(base_dir, 'val')          # test data\r\n",
        "os.mkdir(test_dir)\r\n",
        "\r\n",
        "for cls in classes_list:     \r\n",
        "    os.mkdir(os.path.join(train_dir, cls))\r\n",
        "    os.mkdir(os.path.join(test_dir, cls))"
      ],
      "outputs": [],
      "metadata": {
        "id": "vdgUY4_vPVS_"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* Train:Test 8:2 로 데이터 분할\n",
        "* 각 클래스 별 데이터 수 확인"
      ],
      "metadata": {
        "id": "ncEjsRz_QVoR"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "import math\r\n",
        " \r\n",
        "for cls in classes_list:\r\n",
        "    path = os.path.join(original_dataset_dir, cls)\r\n",
        "    fnames = os.listdir(path)\r\n",
        " \r\n",
        "    train_size = math.floor(len(fnames) * 0.8)\r\n",
        "    test_size = math.floor(len(fnames) * 0.2)\r\n",
        "    \r\n",
        "    train_fnames = fnames[:train_size]\r\n",
        "    print(\"Train size(\",cls,\"): \", len(train_fnames))\r\n",
        "    for fname in train_fnames:\r\n",
        "        src = os.path.join(path, fname)\r\n",
        "        dst = os.path.join(os.path.join(train_dir, cls), fname)\r\n",
        "        shutil.copyfile(src, dst)\r\n",
        "        \r\n",
        "    test_fnames = fnames[train_size:]\r\n",
        "    print(\"Test size(\",cls,\"): \", len(test_fnames))\r\n",
        "    for fname in test_fnames:\r\n",
        "        src = os.path.join(path, fname)\r\n",
        "        dst = os.path.join(os.path.join(test_dir, cls), fname)\r\n",
        "        shutil.copyfile(src, dst)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Train size( Brain Tumor ):  2010\n",
            "Test size( Brain Tumor ):  503\n",
            "Train size( Healthy ):  1669\n",
            "Test size( Healthy ):  418\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "8aPlJ4qIQKyS",
        "outputId": "2088d200-e874-4730-99c6-ac87cec7ea7b"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Import Modules"
      ],
      "metadata": {
        "id": "gY3Ec2iGQoQh"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "import numpy as np\r\n",
        "import pandas as pd\r\n",
        "import matplotlib.pyplot as plt\r\n",
        "\r\n",
        "# Load Data\r\n",
        "import torchvision.transforms as transforms\r\n",
        "from torchvision.datasets import ImageFolder \r\n",
        "from torch.utils.data import DataLoader\r\n",
        "\r\n",
        "# Pytorch --> MLP, CNN\r\n",
        "import torch\r\n",
        "import torch.nn as nn \r\n",
        "import torch.nn.functional as F\r\n",
        "import torch.optim as optim\r\n",
        "\r\n",
        "from torchsummary import summary"
      ],
      "outputs": [],
      "metadata": {
        "id": "4xWouD7KQnuo"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "if torch.cuda.is_available():\r\n",
        "  DEVICE = torch.device('cuda')\r\n",
        "else:\r\n",
        "  DEVICE = torch.device('cpu')\r\n",
        "print(DEVICE)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "cuda\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "21eJSOYPQw5f",
        "outputId": "5cc89a64-5e96-4288-a363-15bb2e7cf92e"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "BATCH_SIZE = 64\r\n",
        "EPOCH = 30"
      ],
      "outputs": [],
      "metadata": {
        "id": "zIDQtchdQxGe"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "original_dataset_dir = './BrainTumorData'   \r\n",
        "classes_list = os.listdir(original_dataset_dir) \r\n",
        "\r\n",
        "n_classes = len(classes_list)\r\n",
        "print(classes_list)           # 분류해야 할 클래스들\r\n",
        "print(n_classes)      # 클래스 수 2개"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "['Brain Tumor', 'Healthy']\n",
            "2\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "QkMRfTeJQ2j-",
        "outputId": "f4ec1740-dacb-4182-fa18-78b40b60d65a"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Load Data"
      ],
      "metadata": {
        "id": "QAqMDgOiUvSK"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "transform_base = transforms.Compose([transforms.Resize((227,227)),\r\n",
        "                                     transforms.ToTensor(),\r\n",
        "                                     transforms.Grayscale(num_output_channels=1)]) \r\n",
        "train_dataset = ImageFolder(root='./splitted/train', transform=transform_base)\r\n",
        "test_dataset = ImageFolder(root='./splitted/val', transform=transform_base)"
      ],
      "outputs": [],
      "metadata": {
        "id": "hwA82Zz6RKq3"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=4)\r\n",
        "test_loader = torch.utils.data.DataLoader(test_dataset,batch_size=BATCH_SIZE, shuffle=True, num_workers=4)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
            "  cpuset_checked))\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "JvRneP0vRNsL",
        "outputId": "8aef1496-6d65-414b-f80e-0c8b438fc0ed"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* 데이터 개수, 형태 확인"
      ],
      "metadata": {
        "id": "Lo4OE5Wdb3xI"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "for (X_train, y_train) in train_loader:\r\n",
        "    print('X_train:', X_train.size(),'type:', X_train.type())\r\n",
        "    print('y_train:', y_train.size(),'type:', y_train.type())\r\n",
        "    break"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
            "  cpuset_checked))\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "X_train: torch.Size([64, 1, 227, 227]) type: torch.FloatTensor\n",
            "y_train: torch.Size([64]) type: torch.LongTensor\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "sqysFnG7bxZs",
        "outputId": "a116aaa0-697b-4bcf-c76c-7b556fd9f74f"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* 데이터 사진 확인하기"
      ],
      "metadata": {
        "id": "Hb9ryNtsTf8W"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "pltsize = 2\r\n",
        "plt.figure(figsize=(10 * pltsize, pltsize))\r\n",
        "for i in range(10):\r\n",
        "    plt.subplot(1, 10, i + 1)\r\n",
        "    plt.axis('off')\r\n",
        "    plt.imshow(X_train[i, :, :, :].numpy().reshape(227, 227), cmap = \"gray_r\")\r\n",
        "    plt.title('Class: ' + str(y_train[i].item()))"
      ],
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1440x144 with 10 Axes>"
            ],
            "image/png": "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"
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 141
        },
        "id": "3PYcSlVGTdRx",
        "outputId": "2f33f38f-a994-48e6-fa86-53d07624b5d4"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# LeNet\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "id": "qWITu3WVRI6n"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* From LeNet-5\n",
        "* Kernel size 5 to 11\n",
        "* Stride 1 to 2"
      ],
      "metadata": {
        "id": "H4I1L6cOVLGH"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "**'Gradient-Based Learning Applied to Document Recognition'** 에서의 **LeNet** 구현\n"
      ],
      "metadata": {
        "id": "O0IhBUW3R-vu"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "![image.png]()\n"
      ],
      "metadata": {
        "id": "RBSODlK0SEiG"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "class LeNet(nn.Module): # LeNet 모델 설계\r\n",
        "    def __init__(self, n_classes = 2):   \r\n",
        "        super(LeNet,self).__init__()\r\n",
        "        self.conv1 = nn.Conv2d(1, 6, kernel_size=11, stride=2)\r\n",
        "        self.conv2 = nn.Conv2d(6, 10, kernel_size=11, stride=2)\r\n",
        "        self.conv3 = nn.Conv2d(10, 22*22*10, kernel_size=11, stride=2)\r\n",
        "        self.fc1 = nn.Linear(22*22*10, 84)\r\n",
        "        self.fc2 = nn.Linear(84, 2)\r\n",
        "\r\n",
        "    def forward(self, x):\r\n",
        "        x = torch.tanh(self.conv1(x))\r\n",
        "        x = F.avg_pool2d(x, 2, 2)\r\n",
        "        x = torch.tanh(self.conv2(x))\r\n",
        "        x = F.avg_pool2d(x, 2, 2)\r\n",
        "        x = torch.tanh(self.conv3(x))\r\n",
        "        x = x.view(-1, 22*22*10)\r\n",
        "        x = torch.tanh(self.fc1(x))\r\n",
        "        x = self.fc2(x)\r\n",
        "        x = F.log_softmax(x, dim=1)\r\n",
        "        \r\n",
        "        return x\r\n",
        "\r\n",
        "# print model summary\r\n",
        "lenet = LeNet().to(DEVICE)\r\n",
        "summary(lenet, (1,227,227)) # summary code "
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "----------------------------------------------------------------\n",
            "        Layer (type)               Output Shape         Param #\n",
            "================================================================\n",
            "            Conv2d-1          [-1, 6, 109, 109]             732\n",
            "            Conv2d-2           [-1, 10, 22, 22]           7,270\n",
            "            Conv2d-3           [-1, 4840, 1, 1]       5,861,240\n",
            "            Linear-4                   [-1, 84]         406,644\n",
            "            Linear-5                    [-1, 2]             170\n",
            "================================================================\n",
            "Total params: 6,276,056\n",
            "Trainable params: 6,276,056\n",
            "Non-trainable params: 0\n",
            "----------------------------------------------------------------\n",
            "Input size (MB): 0.20\n",
            "Forward/backward pass size (MB): 0.62\n",
            "Params size (MB): 23.94\n",
            "Estimated Total Size (MB): 24.76\n",
            "----------------------------------------------------------------\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "M9yo9J_ORsdu",
        "outputId": "7cd0e100-ba39-4a76-f79e-6018ac92e715"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "optimizer = optim.Adam(lenet.parameters(), lr=0.001)\r\n",
        "criterion = nn.CrossEntropyLoss()"
      ],
      "outputs": [],
      "metadata": {
        "id": "-Cv7O0o0Rsw1"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* Train Model"
      ],
      "metadata": {
        "id": "rooJ91V3U86Y"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "def train(model, train_loader, optimizer):\r\n",
        "    model.train()                         # LeNet 모델 train 상태로\r\n",
        "    for batch_idx, (data, target) in enumerate(train_loader):\r\n",
        "        data, target = data.to(DEVICE), target.to(DEVICE)  # data, target 값 DEVICE에 할당\r\n",
        "        optimizer.zero_grad()                              # optimizer gradient 값 초기화\r\n",
        "        output = model(data)                               # 할당된 데이터로 output 계산\r\n",
        "        loss =  criterion(output, target)                  # Cross Entropy Loss 사용해 loss 계산\r\n",
        "        loss.backward()                                    # 계산된 loss back propagation\r\n",
        "        optimizer.step()                                   # parameter update"
      ],
      "outputs": [],
      "metadata": {
        "id": "NBMOFujjU9iL"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "* Evaluate Model"
      ],
      "metadata": {
        "id": "9RxzeapWVC8-"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "def evaluate(model, test_loader):\r\n",
        "    model.eval()      # 모델 평가 상태로\r\n",
        "    test_loss = 0     # test_loss 초기화\r\n",
        "    correct = 0       # 맞게 예측한 0 값으로 초기화\r\n",
        "    \r\n",
        "    with torch.no_grad(): \r\n",
        "        for data, target in test_loader:\r\n",
        "            data, target = data.to(DEVICE), target.to(DEVICE)     # data, target DEVICE에 할당\r\n",
        "            output = model(data)                                  # output 계산\r\n",
        "            test_loss += criterion(output, target).item()         # loss 계산(총 loss 에 더해주기)\r\n",
        "            pred = output.max(1, keepdim=True)[1]                 # 계산된 벡터값 중 가장 큰 값 가지는 class 예측\r\n",
        "            correct += pred.eq(target.view_as(pred)).sum().item() # 맞게 예측한 값 세기\r\n",
        "   \r\n",
        "    test_loss /= len(test_loader.dataset)                         # 평균 loss\r\n",
        "    test_accuracy = 100. * correct / len(test_loader.dataset)     # test(validation) 데이터 정확도\r\n",
        "    return test_loss, test_accuracy "
      ],
      "outputs": [],
      "metadata": {
        "id": "QzZpfMSrVDpF"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "\n",
        "## Train LeNet"
      ],
      "metadata": {
        "id": "LfbgiyabVnIW"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "import time\r\n",
        "import copy\r\n",
        " \r\n",
        "def train_model(model ,train_loader, val_loader, optimizer, num_epochs = 30):\r\n",
        "    best_acc = 0.0  # beset accuracy 초기화\r\n",
        "    best_model_wts = copy.deepcopy(model.state_dict()) \r\n",
        " \r\n",
        "    for epoch in range(1, num_epochs + 1):\r\n",
        "        since = time.time()                                     # 학습 시간 계산\r\n",
        "        train(model, train_loader, optimizer)                   # train 데이터로 학습\r\n",
        "        train_loss, train_acc = evaluate(model, train_loader)   # train_loss, train_acc 계산\r\n",
        "        val_loss, val_acc = evaluate(model, val_loader)         # valid_loss, valid_acc 계산\r\n",
        "        \r\n",
        "        if val_acc>best_acc:  # update best accuracy\r\n",
        "            best_acc = val_acc\r\n",
        "            best_model_wts = copy.deepcopy(model.state_dict())\r\n",
        "        \r\n",
        "        time_elapsed = time.time() - since # 학습 시간 출력\r\n",
        "        print('-------------- epoch {} ----------------'.format(epoch))\r\n",
        "        print('train Loss: {:.4f}, Accuracy: {:.2f}%'.format(train_loss, train_acc))   \r\n",
        "        print('val Loss: {:.4f}, Accuracy: {:.2f}%'.format(val_loss, val_acc))\r\n",
        "        print('Completed in {:.0f}m {:.0f}s'.format(time_elapsed // 60, time_elapsed % 60)) \r\n",
        "\r\n",
        "    model.load_state_dict(best_model_wts)  \r\n",
        "    return model\r\n",
        "\r\n",
        "model = train_model(lenet ,train_loader, test_loader, optimizer)  \t# 모델 학습시키기\r\n",
        "torch.save(model,'LeNet.pt')"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
            "  cpuset_checked))\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "-------------- epoch 1 ----------------\n",
            "train Loss: 0.0108, Accuracy: 58.74%\n",
            "val Loss: 0.0115, Accuracy: 34.74%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 2 ----------------\n",
            "train Loss: 0.0101, Accuracy: 74.40%\n",
            "val Loss: 0.0105, Accuracy: 69.71%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 3 ----------------\n",
            "train Loss: 0.0111, Accuracy: 45.37%\n",
            "val Loss: 0.0117, Accuracy: 45.39%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 4 ----------------\n",
            "train Loss: 0.0093, Accuracy: 72.19%\n",
            "val Loss: 0.0092, Accuracy: 72.75%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 5 ----------------\n",
            "train Loss: 0.0078, Accuracy: 76.57%\n",
            "val Loss: 0.0087, Accuracy: 72.53%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 6 ----------------\n",
            "train Loss: 0.0071, Accuracy: 79.75%\n",
            "val Loss: 0.0082, Accuracy: 79.59%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 7 ----------------\n",
            "train Loss: 0.0066, Accuracy: 79.56%\n",
            "val Loss: 0.0075, Accuracy: 80.24%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 8 ----------------\n",
            "train Loss: 0.0059, Accuracy: 83.28%\n",
            "val Loss: 0.0074, Accuracy: 80.67%\n",
            "Completed in 0m 45s\n",
            "-------------- epoch 9 ----------------\n",
            "train Loss: 0.0052, Accuracy: 86.46%\n",
            "val Loss: 0.0060, Accuracy: 85.88%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 10 ----------------\n",
            "train Loss: 0.0046, Accuracy: 88.04%\n",
            "val Loss: 0.0054, Accuracy: 85.88%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 11 ----------------\n",
            "train Loss: 0.0037, Accuracy: 91.76%\n",
            "val Loss: 0.0047, Accuracy: 88.71%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 12 ----------------\n",
            "train Loss: 0.0030, Accuracy: 92.88%\n",
            "val Loss: 0.0041, Accuracy: 89.69%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 13 ----------------\n",
            "train Loss: 0.0023, Accuracy: 95.84%\n",
            "val Loss: 0.0040, Accuracy: 90.34%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 14 ----------------\n",
            "train Loss: 0.0019, Accuracy: 96.77%\n",
            "val Loss: 0.0031, Accuracy: 93.05%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 15 ----------------\n",
            "train Loss: 0.0021, Accuracy: 95.49%\n",
            "val Loss: 0.0032, Accuracy: 93.49%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 16 ----------------\n",
            "train Loss: 0.0015, Accuracy: 97.31%\n",
            "val Loss: 0.0028, Accuracy: 93.81%\n",
            "Completed in 0m 42s\n",
            "-------------- epoch 17 ----------------\n",
            "train Loss: 0.0014, Accuracy: 97.09%\n",
            "val Loss: 0.0035, Accuracy: 92.18%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 18 ----------------\n",
            "train Loss: 0.0011, Accuracy: 98.04%\n",
            "val Loss: 0.0028, Accuracy: 94.57%\n",
            "Completed in 0m 42s\n",
            "-------------- epoch 19 ----------------\n",
            "train Loss: 0.0010, Accuracy: 98.26%\n",
            "val Loss: 0.0026, Accuracy: 95.55%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 20 ----------------\n",
            "train Loss: 0.0006, Accuracy: 99.10%\n",
            "val Loss: 0.0023, Accuracy: 95.55%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 21 ----------------\n",
            "train Loss: 0.0007, Accuracy: 98.64%\n",
            "val Loss: 0.0025, Accuracy: 94.79%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 22 ----------------\n",
            "train Loss: 0.0004, Accuracy: 99.40%\n",
            "val Loss: 0.0020, Accuracy: 96.74%\n",
            "Completed in 0m 44s\n",
            "-------------- epoch 23 ----------------\n",
            "train Loss: 0.0003, Accuracy: 99.48%\n",
            "val Loss: 0.0028, Accuracy: 94.46%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 24 ----------------\n",
            "train Loss: 0.0002, Accuracy: 99.62%\n",
            "val Loss: 0.0020, Accuracy: 96.96%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 25 ----------------\n",
            "train Loss: 0.0002, Accuracy: 99.78%\n",
            "val Loss: 0.0018, Accuracy: 96.85%\n",
            "Completed in 0m 45s\n",
            "-------------- epoch 26 ----------------\n",
            "train Loss: 0.0001, Accuracy: 99.92%\n",
            "val Loss: 0.0017, Accuracy: 97.39%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 27 ----------------\n",
            "train Loss: 0.0001, Accuracy: 99.95%\n",
            "val Loss: 0.0017, Accuracy: 97.39%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 28 ----------------\n",
            "train Loss: 0.0001, Accuracy: 99.97%\n",
            "val Loss: 0.0017, Accuracy: 97.29%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 29 ----------------\n",
            "train Loss: 0.0001, Accuracy: 99.97%\n",
            "val Loss: 0.0016, Accuracy: 97.72%\n",
            "Completed in 0m 43s\n",
            "-------------- epoch 30 ----------------\n",
            "train Loss: 0.0001, Accuracy: 99.97%\n",
            "val Loss: 0.0019, Accuracy: 97.18%\n",
            "Completed in 0m 42s\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "rmk9kEN2VpbV",
        "outputId": "d019cdd7-a2f9-47c7-ce2d-af4f0ae54835"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "## Test LeNet"
      ],
      "metadata": {
        "id": "wDIf1rOTVtqw"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "model=torch.load('LeNet.pt')\r\n",
        "model.eval()\r\n",
        "loss, acc = evaluate(model, test_loader)\r\n",
        "\r\n",
        "print('Test Accuracy: {:.4f}'.format(acc))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
            "  cpuset_checked))\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Test Accuracy: 97.7199\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Vck5U8sCcPgR",
        "outputId": "b26f2411-ea69-4285-a76e-b80e5901009b"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "from sklearn.metrics import classification_report\r\n",
        "\r\n",
        "def prediction(model, data_loader):\r\n",
        "    model.eval()\r\n",
        "    predlist=torch.zeros(0,dtype=torch.long, device='cpu')\r\n",
        "    lbllist=torch.zeros(0,dtype=torch.long, device='cpu')\r\n",
        "    \r\n",
        "    with torch.no_grad():\r\n",
        "      for i, (data, label) in enumerate(data_loader):\r\n",
        "        data = data.to(DEVICE)        # 데이터 DEVICE에 할당\r\n",
        "        label = label.to(DEVICE)      # 라벨 값 DEVICE에 할당\r\n",
        "        outputs = model(data)         # 예측\r\n",
        "        _, preds = torch.max(outputs, 1)  # 가장 높은 확률 가지는 class 예측\r\n",
        "\r\n",
        "        # Batch 단위 예측값 append 하기\r\n",
        "        predlist=torch.cat([predlist,preds.view(-1).cpu()])\r\n",
        "        lbllist=torch.cat([lbllist,label.view(-1).cpu()])\r\n",
        "        \r\n",
        "    # Classification Report\r\n",
        "    print(classification_report(lbllist.numpy(), predlist.numpy())) # 클래스별 accuracy, recall, f1-score \r\n",
        "    return "
      ],
      "outputs": [],
      "metadata": {
        "id": "ox29vVfeW4gv"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "source": [
        "prediction(model, test_loader)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py:477: UserWarning: This DataLoader will create 4 worker processes in total. Our suggested max number of worker in current system is 2, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.\n",
            "  cpuset_checked))\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "              precision    recall  f1-score   support\n",
            "\n",
            "           0       0.98      0.97      0.98       503\n",
            "           1       0.97      0.98      0.98       418\n",
            "\n",
            "    accuracy                           0.98       921\n",
            "   macro avg       0.98      0.98      0.98       921\n",
            "weighted avg       0.98      0.98      0.98       921\n",
            "\n"
          ]
        }
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "6Qzh5k18iL0E",
        "outputId": "f05fe0fc-e1f3-48de-8e70-b73c4303ccc2"
      }
    }
  ]
}